Database catalogs typically capture technical metadata that the database management system (DBMS) enforces. Such metadata may include table names, column names, datatypes, and column sizes. However, many applications that reference the same database control its own data and the relationship of this data across sets of applications outside the knowledge of the DBMS. This may create a complex application architecture that is costly and difficult to manage or change. New applications may not be able to examine the catalog contents and understand the relevant database constraints and data formats. Existing applications may not be updated without the risk of breaking the application related constraints that exist between the applications.